package com.hundsun.cprs.yyt.gateway.service.trade;

import com.hundsun.cprs.yyt.gateway.request.OrderQueryRequest;
import com.hundsun.cprs.yyt.gateway.request.PlaceOrderRequest;
import com.hundsun.cprs.yyt.gateway.response.BaseResponse;
import com.hundsun.cprs.yyt.gateway.response.OrderListResponse;
import com.hundsun.cprs.yyt.gateway.response.OrderResponse;
import com.hundsun.cprs.yyt.gateway.response.PlaceOrderResponse;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;

/**
 * 订单相关T2对外接口
 * 
 * @author linrl
 * @date 2019年2月20日
 */
@ServiceModule
public interface OrderCommonService {

    /**
     * 确认下单并且支付
     * 
     * @param request
     * @return
     */
    @Service(functionId = "319373", desc = "下单并支付")
    PlaceOrderResponse placingOrderAndPay(PlaceOrderRequest request);

    /**
     * 查询订单明细
     * 
     * @param request
     * @return
     */
    @Service(functionId = "319374", desc = "查询订单明细列表")
    OrderListResponse selectOrderList(OrderQueryRequest request);
    
    /**
     * 获取订单详情
     * @param orderId
     * @return
     */
    @Service(functionId = "319375", desc = "查询订单详情")
    OrderResponse getOrderDetail(@ServiceParam("user_id") Long userId,@ServiceParam("order_id") Long orderId);


    /**
     * 确认收货
     * @param orderId
     * @param userId
     * @return
     */
    @Service(functionId = "319382", desc = "确认收货")
    BaseResponse confirmOrder(@ServiceParam("user_id") Long userId,@ServiceParam("order_id") Long orderId);

}
